// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
#pragma once
#include "../../../../../sql/dialect/mysql/ast/statement/MySqlStatementImpl.h"
#include "../../../../../sql/dialect/mysql/ast/statement/MySqlShowStatement.h"
class MySqlASTVisitor;
class MySqlExplainPlanCacheStatement :public MySqlStatementImpl ,virtual public MySqlShowStatement {
  public:
  SHAREDOBJECT(MySqlExplainPlanCacheStatement);
    void accept0(MySqlASTVisitor_ptr  visitor) ;
    
  virtual SQLObject_ptr clone()
  {
    SQLObject_ptr clone_tmp = std::shared_ptr<MySqlExplainPlanCacheStatement>(new MySqlExplainPlanCacheStatement());
    std::shared_ptr<MySqlExplainPlanCacheStatement> x = std::dynamic_pointer_cast<MySqlExplainPlanCacheStatement>(clone_tmp);
    return x;
  }
};
